Skip to content

Dev to qa#75

Merged
fpittelo merged 45 commits intoqafrom
dev
Nov 23, 2025
Merged

Dev to qa#75
fpittelo merged 45 commits intoqafrom
dev

Conversation

@fpittelo
Copy link
Owner

Dev to qa

fpittelo and others added 30 commits November 22, 2025 17:22
…kflows for improved CI/CD process

- Deleted VERIFICATION.md, WORKFLOW_MODULARIZATION_SUMMARY.md, plan.md, requirements.md, and specs.md as they are no longer relevant.
- Updated LoginPage.css to remove background image styles.
- Removed unused inspiration images.
- Introduced new modular workflows for deployment and destruction of Azure resources, enhancing flexibility and efficiency.
- Added comprehensive documentation in docs/Copilot.md and restructured development plan in docs/plan.md.
- Established a new CHANGELOG.md and CONTRIBUTING.md for better project management and contribution guidelines.
…nce UI with responsive design and improved styles
Fixes #67 remove ms login
Fixes #67 update
Fixes #67 auth correction
Fixes #67 auth correction
Fixes #67 inspiration
Fixes #61 Remove development plan and requirements documents; consolidate specifications into a single file.
Fixes #61 ✨Revise specifications document for AlpineBot, enhancing clarity and detail on user authentication, functional requirements, and design principles.
Fixes #61 ✨Update specifications document with structured sections for context, functional requirements, non-functional requirements, technical design, and acceptance criteria.
Fixes #67 remove apertus
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
…page

Rework lanoding page to align with specifications (Task 1.2.1)
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
…erface

Implement basic chatbot interface with voting, copy, and refresh controls
Fixes #67 Guidelines link correction
fpittelo and others added 15 commits November 23, 2025 14:31
Fixes #67 Homage guidelines and chat box higher up
Fixes #67 Homepage correction
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
…atbot-backend

Add Azure Functions backend with OpenAI integration for chatbot
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
Co-authored-by: fpittelo <3135901+fpittelo@users.noreply.github.com>
…yment

Add Azure Function App deployment infrastructure per environment
@fpittelo fpittelo self-assigned this Nov 23, 2025
@fpittelo fpittelo added the enhancement New feature or request label Nov 23, 2025
@gemini-code-assist
Copy link

Summary of Changes

Hello @fpittelo, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly advances the AlpineBot project by introducing core chat functionality, streamlining user authentication, and establishing robust development and deployment practices. It features a redesigned frontend with a functional chat interface and static content pages, backed by a new Python Azure Function that integrates with Azure OpenAI. Concurrently, the project's documentation has been formalized and updated, and the infrastructure has been expanded to support these new components, setting a clear path for future development.

Highlights

  • Frontend UI/UX Enhancements and Static Pages: The frontend has been significantly updated with a redesigned login page, new static content pages (About, Privacy, Guidelines), and the implementation of a functional chat interface, replacing the previous placeholder.
  • Streamlined Authentication: User authentication has been consolidated to exclusively use Google accounts, removing support for Microsoft authentication across the application and its infrastructure.
  • New Python Azure Function Backend: A new Python Azure Function has been introduced to serve as the chatbot's backend, integrating with Azure OpenAI to provide AI-powered conversational responses.
  • Comprehensive Documentation and Project Structure: Extensive project documentation has been added, including a detailed CONTRIBUTING.md, CHANGELOG.md, and a comprehensive docs/specifications.md, while outdated summary files have been removed for clarity.
  • Infrastructure Updates for New Components: The Terraform infrastructure has been expanded to include the deployment of the new Azure Function App and adjusted to align with the updated Google-only authentication strategy for the web app.
Ignored Files
  • Ignored by pattern: .github/workflows/** (6)
    • .github/workflows/README.md
    • .github/workflows/deploy-function.yaml
    • .github/workflows/deploy-infra.yaml
    • .github/workflows/deploy.yaml
    • .github/workflows/destroy-infra.yaml
    • .github/workflows/destroy.yaml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@fpittelo fpittelo linked an issue Nov 23, 2025 that may be closed by this pull request
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a major refactoring and set of new features, significantly advancing the project. Key changes include the addition of a Python-based Azure Function backend, a complete redesign of the React frontend to a modern chat interface, and the introduction of a detailed specifications.md document. The infrastructure-as-code has also been updated to support the new backend and to remove the deprecated Microsoft authentication provider, focusing solely on Google for user sign-in. My review identifies a critical issue with a backend dependency version that would prevent deployment, a high-severity security concern regarding error message leakage, and a few medium-severity documentation inconsistencies that should be addressed to maintain clarity and correctness.

# azure-monitor-opentelemetry

azure-functions==1.24.0
openai==2.8.1 No newline at end of file

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The specified version 2.8.1 for the openai package is not a valid version on PyPI, which will cause the dependency installation to fail. The code in function_app.py uses the AzureOpenAI client, which is part of the v1.x SDK. Please update this to a correct version, for example, ~=1.28.0.

openai~=1.28.0

Comment on lines +138 to +144
except Exception as e:
logging.error(f"Error processing chat request: {str(e)}")
return func.HttpResponse(
json.dumps({"error": f"An error occurred: {str(e)}"}),
mimetype="application/json",
status_code=500
) No newline at end of file

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The general exception handler returns the full exception message to the client. This can leak sensitive internal implementation details, which is a security risk. It's better to log the detailed error on the server (using exc_info=True for the full stack trace) and return a generic error message to the client.

Suggested change
except Exception as e:
logging.error(f"Error processing chat request: {str(e)}")
return func.HttpResponse(
json.dumps({"error": f"An error occurred: {str(e)}"}),
mimetype="application/json",
status_code=500
)
except Exception as e:
logging.error(f"An unexpected error occurred: {str(e)}", exc_info=True)
return func.HttpResponse(
json.dumps({"error": "An unexpected error occurred. Please try again later."}),
mimetype="application/json",
status_code=500
)

```
/frontend - React web application
/backend - Azure Functions
/terraform - Infrastructure as Code

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The project structure documentation refers to /terraform, but this directory has been renamed to /infra in this pull request. Please update this line to reflect the new project structure.

Suggested change
/terraform - Infrastructure as Code
/infra - Infrastructure as Code


- **FR4.1:** The user profile shall allow each users to manage their profile securely.
- **FR4.2:** The user profile portal shall support to manage a profile picture similar to github profile picture.
- **FR4.3:** The user profile portal shall support to manage th

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This line appears to be incomplete. Please review and complete the functional requirement.

Comment on lines +108 to +109
- **FR9.1:** A *guidelines" page containing generice guidelines. The page will be accessible with link available on the login page between "Privacy" and "About".
- **FR9.2:** A *data" page containing information about how data is used. The page will be accessible with link available on the login page between "Privacy" and "About".

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There are minor typos in this section. The markdown for the page names seems to have extra quotes, and generice is misspelled. It should be *guidelines* and *data*.

Suggested change
- **FR9.1:** A *guidelines" page containing generice guidelines. The page will be accessible with link available on the login page between "Privacy" and "About".
- **FR9.2:** A *data" page containing information about how data is used. The page will be accessible with link available on the login page between "Privacy" and "About".
- **FR9.1:** A *guidelines* page containing generic guidelines. The page will be accessible with link available on the login page between "Privacy" and "About".
- **FR9.2:** A *data* page containing information about how data is used. The page will be accessible with link available on the login page between "Privacy" and "About".

Comment on lines +20 to +21
require_authentication = false
unauthenticated_action = "AllowAnonymous"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Setting require_authentication to false and unauthenticated_action to AllowAnonymous is correct for allowing the frontend React app to handle its own routing and display a custom login page. However, this means the application itself is now fully responsible for protecting routes. While the current App.js implementation does this, it's a critical security change to be aware of. Any future endpoints or pages added to the frontend must be explicitly protected in the client-side code.

@fpittelo
Copy link
Owner Author

ok

@fpittelo fpittelo merged commit bfeb661 into qa Nov 23, 2025
4 checks passed
@fpittelo fpittelo deleted the dev branch November 23, 2025 15:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants